Owen Taylor [Sat, 29 Nov 2008 21:44:17 +0000 (21:44 +0000)]
Bug 562629 – gnome-shell-build-setup.sh: more Ubuntu dependencies
Improve gnome-build-setup.sh by:
- Adding more required dependencies
- Fixing message when $reqs has multiple words
- Remove stray + from file
Patch from RainCT (Siegfried Gevatter).
Owen Taylor [Sat, 29 Nov 2008 21:11:31 +0000 (21:11 +0000)]
Bug 562633 – Use GNOME_SHELL_DISABLE_TFP environment variable
Allow forcing off the texture_for_pixmap extension by environment
variable, since it is apparently buggy on old Intel cards with
certain driver versions
Colin Walters [Tue, 25 Nov 2008 19:58:49 +0000 (19:58 +0000)]
Add hardcoded default applications list taken from online.gnome.org
The previous list of all applications in a random order was obviously
temporary. This patch improves things by adding a static list, taken
from the online.gnome.org/applications data.
In the future we will either have a vendor-chosen static list, or
a fully dynamic system.
Owen Taylor [Mon, 24 Nov 2008 19:07:18 +0000 (19:07 +0000)]
Add a concept of "going modal" by grabbing the keyboard
shell-global.[ch]: Replace shell_global_focus_stage()
with shell_global_grab_keyboard()/shell_global_ungrab_keyboard()
main.js: Add startModal()/endModal() functions to go modal and
undo that.
run_dialog.js overlay.js main.js: Use startModal() for the overlay
and for the run dialog.
Owen Taylor [Mon, 24 Nov 2008 19:07:15 +0000 (19:07 +0000)]
Add a bg-color property to ShellTrayManager
shell_tray_manager.c: Add a bg-color property and implement it
by setting a 1x1 pixmap of the right color as the background.
Also, make the colormap of the tray manager window match that
of the socket. That should (untested) make transparency work
properly if the tray icon supports it.
panel.js: Set the bg-color property of the tray manager to
match the panel.
Owen Taylor [Sun, 23 Nov 2008 04:12:37 +0000 (04:12 +0000)]
Tweak the animation when the overlay comes up
- Make the time a bit longer (now that we control timing in Tweener
better it actually takes the time we specify)
- Use easeOutQuad so that we get a "soft landing" into position
- Move the anchor point of the Desktop to NorthEast to reduce jitter
Owen Taylor [Sun, 23 Nov 2008 04:12:34 +0000 (04:12 +0000)]
Use a Tweener "Frame Ticker" with a ClutterTimeline backend
Call Tweener.setFrameTicker() with a custom object that bridges to
ClutterTimeline to get new frame notifications. Combined with a
hack to dynamically adjust the frame ticker's frame rate when
Clutter drops frames, this means that our animations play in the
intended time even if rendering is too slow to maintain a full
60HZ frame rate.
Owen Taylor [Wed, 19 Nov 2008 23:04:53 +0000 (23:04 +0000)]
Set a strut to prevent windows under the panel
Set a strut (a reserved region) at the top of the screen so that
windows don't get positioned under the panel. Do this on all
workspaces and redo it when the number of workspaces changes.
http://bugzilla.gnome.org/show_bug.cgi?id=561297
Colin Walters [Wed, 19 Nov 2008 21:15:59 +0000 (21:15 +0000)]
Bump default screen size to 1024x748; current mininum
Right now the mockup is 1280x800. We don't fit at all well into
800x600. This patch bumps us up by default to 1024x768 which is
the lowest we're going to work at for now, until we get some more
intelligent resizing.
Display a background rectangle for the desktop in the overlay mode when we don't have a desktop window from the file manager, which is the case when the preference for showing icons on the desktop is disabled by the user or we are running inside a Xephyr window.
Owen Taylor [Tue, 18 Nov 2008 01:13:53 +0000 (01:13 +0000)]
Build libtray and libtidy as uninstalled convenience libraries as intended
Move libtidy and libtray from lib_LTLIBRARIES to noinst_LTLIBRARIES; this keeps
automake from passing an -rpath when building them, which in turn convinces
libtool to build them as convenience libraries rather than shared objects.
Owen Taylor [Tue, 18 Nov 2008 00:45:32 +0000 (00:45 +0000)]
Check that xulrunner-1.9-dev is installed ahead of time
On Debian and Ubuntu, if xulrunner-1.9-dev is not installed before starting jhbuild,
then things will break in mysterious ways, so check for that at the end of
gnome-shell-build-setup.sh.
Add an extra background to the button that maintains the state of the pressed button color opacity. This ensures the highlighted button color will be based on the button color instead of the color of the item the button is added to.
Add a button object that highlights a button area when it is moused over and transitions it to a different color when the button is pressed in. Use this button object for the panel's "Activities" button.
Add some comments, TODO items, and type fixes to the code.
Colin Walters [Fri, 14 Nov 2008 21:25:58 +0000 (21:25 +0000)]
Use new --program arg from g-i, clean up build accordingly
* configure.ac: Look for paths to all the g-i tools, and
also get the full path to metacity
* src/Makefile.am: Remove noinst library, not necessary now
Dan Winship [Fri, 14 Nov 2008 17:21:56 +0000 (17:21 +0000)]
Import part of the notification area applet, and use it to add a
notification are to the panel. A bit warty, but we don't know how we want
the final UI to look anyway. (The fact that transparency doesn't work is
a known bug.)
Owen Taylor [Wed, 12 Nov 2008 21:09:27 +0000 (21:09 +0000)]
Experimentally add build infrastructure and a few Tidy widgets
For experimenting with using tidy, import TidyButton and TidyGrid
(+ dependencies) into our source tree and set up build machinery
to build them and build a typelib for them.
The sources are build right into libgnome-shell.so, so the Shell.gir
and Tidy.gir actually point to the same shared library.
src/Makefile-tidy.am: Build libtidy-1.0.la
src/Makefile.am: Include built tidy into gnome-shell.la and
build Tidy-1.0.typelib
Owen Taylor [Sat, 8 Nov 2008 19:33:35 +0000 (19:33 +0000)]
Fix stacking order in the overlay
When showing windows in the overlay, stack them in the same order as
they are on the screen. This improves the animation (the starting point
is now the current layout!) and also the case where we have a lot
of windows and just overlap them diagonally.
Owen Taylor [Sat, 8 Nov 2008 19:33:33 +0000 (19:33 +0000)]
Hide the group containing the windows while overlay is up
When we are animating the overlay, we don't want to be continually
redrawing the (obscured) window actors.
src/shell-global.c: Add 'window-group' property to expose the group
holding the window actors.
js/ui/overlay.js: Hide the window group while the overlay is up.
Owen Taylor [Thu, 6 Nov 2008 14:00:14 +0000 (14:00 +0000)]
Improve window handling in overview mode
* For small window counts, lay the windows out according to a
predefined scheme. For larger window counts, continue putting
the windows along the diagonal as before, but do it a bit better.
* Special case the desktop window and use it as the background
of the window area.
* Add a little translucency to windows
* Use tweener to animate everything into place
* Clean up - add constants and break things into multiple methods
Autodetect where the 'pidof' command lives and enable optional verbose logging inside start-replace
scripts/start-replace: Detect if 'pidof' lives in /sbin, /bin, or /usr/bin. Add conditional verbose logging if -v is passed on the command line
scripts/launcher.py: Add method is_verbose() to Launcher class
Owen Taylor [Mon, 3 Nov 2008 21:39:41 +0000 (21:39 +0000)]
Don't override XAUTHORITY until after we run Xephyr
Don't override the setting of XAUTHORITY when running Xephyr,
since then we may not be able to connect to the host display.
Instead pass in the local auth file via the -auth command
line argument.
An alternate fix would be to use 'xauth merge' to merge the
existing XAUTHORITY file into our local file.
Owen Taylor [Sun, 2 Nov 2008 04:18:43 +0000 (04:18 +0000)]
Install our typelib privately inside $(pkglibdir)
Installing the plugin typelib into $(libdir)/girepository is
non-sensical since no other program would want to reference it.
Move it to $(pkglibdir)/girepository instead. (Will need to set
environment variables to find it when we make installed operation
work.)
Owen Taylor [Sun, 2 Nov 2008 04:18:41 +0000 (04:18 +0000)]
First stab at showing windows in the overlay
shell-global.[ch]: Add shell_global_get_windows() to get
the list of all MutterWindow for the screen
Makefile.am: Include the metacity typelib so that we can
reference the MutterWindow type
js/ui/overlay.js: Cascade the open windows, scaled down
in the overlay
Owen Taylor [Sat, 1 Nov 2008 23:55:49 +0000 (23:55 +0000)]
Add --debug and --verbose options to launcher scripts
Factor out a common Launcher class from start-in-Xepyhr and
start-replace that handles option parsing and launching gnome-shell,
and add options:
-v/--verbose: Unless specified, suppress most gjs debug output
-g/--debug: If specified run under gdb
--debug-command: Run under some other debugging (strace/valgrind/etc.)
Implies -g
Owen Taylor [Sat, 1 Nov 2008 22:56:53 +0000 (22:56 +0000)]
Build metacity-clutter after gir-repository
Once we add introspection information to metacity-clutter, we need
to make sure that we build it after gir-repository (and thus
gobject-introspection.)
Owen Taylor [Fri, 31 Oct 2008 23:09:46 +0000 (23:09 +0000)]
First cut at activities overlay
When the user clicks on "Activities", adjust the input shape
to the whole screen and show a black overlay group. Actually, the
black should be *beneath* the window actors and the overlay group
transparent so we can fade in the black while leaving the windows
unfaded, visible, but shrunk and rearranged.
Owen Taylor [Fri, 31 Oct 2008 05:25:28 +0000 (05:25 +0000)]
Add jhbuild setup script and moduleset
gnome-shell.modules: moduleset to build gnome-shell and dependencies
gnome-shell-build-setup.sh: Script to set up a jhbuild for gnome-shell,
modelled after and partially copied from gtk-osx-build-setup.sh
jhbuildrc-gnome-shell: ~/.jhbuildrc for the build
jhbuildrc-custom-example: Example ~/.jhbuildrc-custom
Owen Taylor [Fri, 31 Oct 2008 04:22:44 +0000 (04:22 +0000)]
Initial commit
A plugin for metacity-clutter (mutter) that initializes Javascript
and via Javascript adds an object to the mutter scene graph.
src/gnome-shell-plugin.c: metacity-clutter-plugin
src/shell-global.[ch]: Simple global-information object
js/: Directory for javascript
scripts/start-in-Xephyr: Launch metacity with our plugin
"nested" within an Xephy X server